package com.caishi.lkx.exam.model;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.caishi.lkx.exam.ienum.type.ProductCodeType;
import com.zzw.common.entity.impl.BaseEntity;
import com.caishi.lkx.exam.ienum.status.ProductCodeStatus;
import com.caishi.lkx.order.IAssetsModel;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;

import java.time.LocalDateTime;


@Schema(title = "产品激活码")
@EqualsAndHashCode(callSuper = true)
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@TableName(value = "ex_product_code")
public class ProductCodeModel extends BaseEntity<ProductCodeModel> implements IAssetsModel<ProductCodeModel, String> {

    @Schema(title = "packageId")
    private String packageId;

    @Schema(title = "skuId")
    private String skuId;

    @Schema(title = "userId")
    private String userId;

    @Schema(title = "userId")
    private LocalDateTime userTime;

    @Schema(title = "行业id 值为gjtk时表示考试为高教题库")
    private String industryId;

    @Schema(title = "考试id")
    private String examId;

    @Schema(title = "订单id")
    private String orderId;

    @Schema(title = "激活码状态")
    private ProductCodeStatus status;

    @Schema(title = "激活码类型")
    private ProductCodeType type;

    @Schema(title = "创建者")
    @TableField(exist = false)
    private String createdByName;
    @Schema(title = "激活者")
    @TableField(exist = false)
    private String userName;
    @TableField(exist = false)
    private String industryName;
    @TableField(exist = false)
    private String examName;
    @Schema(title = "sku名")
    @TableField(exist = false)
    private String skuName;
    @Schema(title = "套餐名")
    @TableField(exist = false)
    private String packageName;


    @Override
    public String getName() {
        return "";
    }

    @Override
    public Long getPrice() {
        return 0L;
    }
}
